Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), flash memory, phase change random access memory (PCRAM), resistive random access memory (RRAM), magnetoresistive random access memory (MRAM; also referred to as magnetic random access memory), conductive-bridging random access memory (CBRAM), among others.
Memory devices are utilized as non-volatile memory for a wide range of electronic applications in need of high memory densities, high reliability, and low power consumption. Non-volatile memory may be used in a personal computer, a portable memory stick, a solid state drive (SSD), a personal digital assistant (PDA), a digital camera, a cellular telephone, a portable music player (e.g., MP3 player), a movie player, and other electronic devices, among others. Program code and system data, such as a basic input/output system (BIOS), are typically stored in non-volatile memory devices.
Non-volatile resistive memory such as RRAM, PCRAM, MRAM, and CBRAM, for example, include memory elements having a variable resistance and which may exhibit linear or nonlinear I-V characteristics. As such, resistive memory cells can be programmed to store data corresponding to a desired state by varying the resistance of the resistive memory element. As an example, data may be written to a selected memory cell in a resistive memory by applying a predetermined current to the resistive memory element. Resistance states may be programmed in accordance with a linear distribution, or a non-linear distribution. As an example, a single level cell (SLC) may represent one of two data states (e.g., logic 1 or 0), which can depend on whether the cell is programmed to a resistance above or below a particular level. Various resistive memory cells can be programmed to multiple different resistance levels corresponding to multiple data states. Such cells may be referred to as multi state cells, multi digit cells, and/or multi level cells (MLCs) and can represent multiple binary digits (e.g., 10, 01, 00, 11, 111, 101, 100, 1010, 1111, 0101, 0001, etc.)
The data state of resistive memory cells coupled to a selected word line can be determined by sensing current on the bit lines corresponding to the respective cells. However, previous approaches to sensing (e.g., reading) the data state of resistive memory cells have various drawbacks.